home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 API Bible / Windows 95 API Bible 3 Disc Set.iso / Win32 API Bible Book 1 of 3 / CHAPTE21 / EX16.C < prev    next >
C/C++ Source or Header  |  1995-05-29  |  2KB  |  55 lines

  1. #include <genstub.c>
  2.  
  3. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  4. {
  5.    switch (uMsg)
  6.    {
  7.          case WM_COMMAND:
  8.                switch ( LOWORD( wParam ) )
  9.                {
  10.                      case IDM_TEST:
  11.                      {
  12.                            TOGGLEKEYS tk;
  13.                            MOUSEKEYS  mk;
  14.                            BOOL       bRetVal;
  15.                            TCHAR      szBuffer[128];
  16.  
  17.                            // Get Toggle Keys data.
  18.                            tk.cbSize = sizeof(TOGGLEKEYS);
  19.                            bRetVal = SystemParametersInfo( SPI_GETTOGGLEKEYS,
  20.                                                            tk.cbSize, &tk, 0);
  21.                            if (bRetVal) {
  22.                               if ( tk.dwFlags & tk.dwFlags & TKF_HOTKEYACTIVE )
  23.                                  lstrcpy( szBuffer, "Toggle Keys is in use");
  24.                               else if ( tk.dwFlags & TKF_AVAILABLE )
  25.                                  lstrcpy( szBuffer, "Toggle Keys is off" );
  26.                               else
  27.                                  lstrcpy( szBuffer, "Toggle Keys not available" );
  28.                               MessageBox( hWnd, szBuffer, "Toggle Keys status", MB_OK );
  29.                            }
  30.                            // Get Mouse Keys data.
  31.                            mk.cbSize = sizeof(MOUSEKEYS);
  32.                            bRetVal = SystemParametersInfo( SPI_GETMOUSEKEYS,
  33.                                                            mk.cbSize, &mk, 0);
  34.                            if (bRetVal ) {
  35.                               if ( mk.dwFlags & MKF_MOUSEKEYSON )
  36.                                  lstrcpy( szBuffer, "Mouse Key active" );
  37.                               else
  38.                                  lstrcpy( szBuffer, "Mouse Key not active" );
  39.                               MessageBox( hWnd, szBuffer, "Mouse Keys status", MB_OK );
  40.                            }
  41.                      }
  42.                      break;
  43.                      case IDM_EXIT:
  44.                            DestroyWindow( hWnd );
  45.                      break;
  46.                }
  47.                break;
  48.          case WM_DESTROY:
  49.                PostQuitMessage( 0 );
  50.                break;
  51.          default:
  52.                return (DefWindowProc(hWnd, uMsg, wParam, lParam));
  53.    }
  54.    return (NULL);
  55. }